<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    #box{width: 500px;
    height: 500px;
    background-color: crimson;}
    #sub{
        width: 200px;
    height: 200px;
    background-color:cadetblue; 
    }
    </style>
</head>
<body>
    <div id="box">
        <div id="sub"></div>  
    </div>
    <script>
        // 事件流
    // 一个事件从触发到开始执行，经历三个阶段  (同种事件)

    // 1. 捕获阶段  (事件捕获)  查找事件的源头   window -> document ->  html -> body  -> box -> sub
    // 事件捕获  从最不确切的位置找到最确切的位置

    // 2. 目标阶段  (事件找到之后需开始执行)

    // 3. 冒泡阶段  (事件冒泡)  从事件源本身向父代元素冒泡      [div.sub, div.box, body, html, document, Window]  
    //    从最特定的位置到最不特定的位置
    // 
    //  触发某个事件，他的所有父级元素有同类事件的话也会触发

         var box=document.getElementById("box")
         var sub=document.getElementById("sub")
        //  box.onclick=function(){
        //      console.log("触发了box")
        //  }
        document.body.onclick=function(){
            console.log("触发了body")
        }
        document.documentElement.onclick=function(){
            console.log("触发了html")
        }
        document.onclick=function(){
            console.log("触发了document")
        }
    </script>
</body>
</html>